It should come as no surprise that .NET assemblies can be executed only on a machine that has the .NET Framework installed. For an individual who builds .NET software, this should never be an issue, as your development machine will be properly configured at the time you install the freely available .NET Framework 4.0 SDK (as well as commercial .NET development environments such as Visual Studio 2010).
However, if you deploy your application to a computer that does not have .NET installed, it will fail to run. For this reason, Microsoft provides a setup package named dotNetFx40_Full_x86.exe that can be freely shipped and installed along with your custom software. This installation program can be downloaded from Microsoft’s general download area (http://www.microsoft.com/downloads). Once dotNetFx40_Full_x86.exe is installed, the target machine will now contain the .NET base class libraries, .NET runtime (mscoree.dll), and additional .NET infrastructure (such as the GAC).
Note The Vista and Windows 7 operating systems are preconfigured with the necessary .NET runtime infrastructure. However, if you are deploying your application to a different Microsoft OS, such as Windows XP, you will want to ensure the target machine has the .NET runtime environment installed and configured.
The dotNetFx40_Full_x86.exe setup program weighs in at approximately 77 MB in size. If you were deploying your application to the end user via a CD, this would not be an issue, as your setup program could simply run the executable if the machine were not configured correctly.
However, if the end user were required to download dotNetFx40_Full_x86.exe using a low-speed Internet connection, this could be a bit of a burden. To address this situation, Microsoft introduced an alternative setup program termed the client profile (dotNetFx40_Client_x86.exe), which can also be downloaded for free from the Microsoft download site.
As the name implies, this setup program installs a subset of the .NET base class libraries, in addition to the necessary runtime infrastructure. While the client profile is more lightweight than its big brother (approximately 34 MB in size), the target machine will not have the same libraries as a “Full” .NET installation. The omitted assemblies of the client profile can be optionally installed on the target machine when the end user performs a Windows Update.
Note Both the full and client runtime profiles do have 64-bit counterparts, dotNetFx40_Full_x86_x64.exe and dotNetFx40_Client_x86_x64.exe respectively.